var ImageOptions = function (src, width, height) {
    this.src = src;
    this.width = width;
    this.height = height;
},
// ENTITIES
IRenderable = function () {
    this.render = function (drawEngine) {
        throw 'The IRenderable.render() method has not been implemented.';
    };
},
Background = function (width, height, imageOptions) {
    this.width = width;
    this.height = height;
    var image = new Image(imageOptions.width, imageOptions.height);
    image.src = imageOptions.src;
    this.image = image;
    // IRenderable
    this.render = function (drawEngine) {
        drawEngine.render(this.image, 0, 0, this.width, this.height, 0, 0, this.width, this.height);
    };
},
BaseGameObject = function (x, y, width, height, imageOptions) {
    this.health = 100;
    this.x = x;
    this.y = y;
    this.width = width;
    this.height = height;

    // image
    var image = new Image(imageOptions.width, imageOptions.height);
    image.src = imageOptions.src;
    this.image = image;
};

epam.tankBattles.common.extend(Background, IRenderable);
epam.tankBattles.common.extend(BaseGameObject, IRenderable);
